package com.fzkj.nio.channel;

import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

/**
 * channel
 */
public class Write {
    public static void main(String[] args) {
        String path = "src/com/fzkj/nio/channel/data.txt";
        try{
            // 1、创建字节输出流通向文件
            FileOutputStream fos = new FileOutputStream(path);
            // 2、得到管道
            FileChannel channel = fos.getChannel();
            // 3、创建缓冲区
            ByteBuffer buffer = ByteBuffer.allocate(1024);
            // 4、往缓冲区中写数据
            buffer.put("hello wolrd!".getBytes());
            // 5、将缓冲区切换成写入模式
            buffer.flip();
            // 6、将缓冲区放入管道中
            channel.write(buffer);
            // 7、关闭管道
            channel.close();
            System.out.println("数据写入成功");
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
